DESKPIC.CPX Version 01.14 CPX-Modul der Utility-Serie von mz'91 1. Einleitung DESKPIC.CPX ist ein nachladbares Modul fr das modulare Kon- trollfeld XCONTROL von Atari. Es erm”glicht die Konfiguration eines residenten Treibers fr die Anzeige eines Bildes im DEGAS-Format als Desktop-Hintergrund. DESKPIC.CPX ist ein CPX-Modul der Utility-Serie von mz'91. Diese CPX-Module erm”glichen die Konfiguration der System-Hardware und -Software und im Zusammenspiel mit residenten Programmen einige ntzliche Zusatzfunktionen. Die CPX-Module der Utility-Serie sind fr den Einsatz auf Atari ST-Modellen geschrieben. Auf anderen Atari-Rechnern wurden sie nicht getestet. Einige Funktionen sind von der TOS-Version abh„ngig. Zur Zeit sind folgende CPX-Module verfgbar: DIVERSES.CPX V01.12 (1) -Uhrzeiteinblendung, Alarmzeit, Drucker-Code-Konverter, Bildwiederholfrequenzeinstellung DISK.CPX V01.02 (2) -Steprateneinstellung Laufwerke A und B, Floppy-Write-Verify-Wahl, HD-Parken mittels externem PRG TRASH.CPX V01.05 -Installation eines 'leerbaren Papierkorbs' DESKPIC.CPX V01.14 (3) -Anzeige eines Desktop-Hintergrund- Bildes im DEGAS-Format (1) Uhrfunktion nur fr TOS 1.04 oder Hardwareuhr; Frequenzeinstellung nur fr ST (2) HD-Parkfunktion nur fr reine TOS-Programme geeignet (3) nur fr hohe ST-Aufl”sung (640x400 monochrom) Bezug und Information: Michael Zuhl Transvaalstr. 16 1000 Berlin 65 2. šbersicht ber die mitgelieferten Dateien DESKPIC.CPX ....... CPX-Modul fr XCONTROL BACKPIC.PRG ....... residenter Treiber fr Hintergrundbild DESKPIC.DOC ....... diese Anleitung (WP-Format) DESKPIC.TXT ....... diese Anleitung (ASCII-Format) 2.1 Beschreibung von DESKPIC.CPX DESKPIC.CPX ist ein nachladbares Modul fr das modulare Kon- trollfeld XCONTROL von Atari. Es erm”glicht die Konfiguration des mitgelieferten residenten Treibers fr die Einblendung eines Bildes im DEGAS-Format als Desktop-Hintergrund. DESKPIC.CPX sollte im gleichen Verzeichnis abgelegt werden wie die brigen CPX-Module, damit es beim Booten von XCONTROL in die Liste der verfgbaren CPX-Module bernommen werden kann. DESKPIC.CPX arbeitet nur im Zusammenspiel mit dem residenten Programm BACKPIC.PRG (s. dort). DESKPIC.CPX ist ein CPX-Modul der Utility-Serie von mz'91 und als solches frei kopierbar. Es sollte sinnvollerweise nur mit dem Programm BACKPIC.PRG und dieser Anleitung weitergegeben werden. Die CPX-Module der Utility-Serie sind fr den Gebrauch mit XCONTROL von Atari auf ST-Systemen konzipiert. Damit unterliegen sie den Einschr„nkungen und Besonderheiten, die Atari in der XCONTROL-Dokumentation aufgefhrt hat (s. dort). 2.2 Beschreibung von BACKPIC.PRG BACKPIC.PRG ist ein residentes Programm, das einen Treiber fr die Einblendung eines Bildes im DEGAS-Format als Desktop-Hinter- grund zur Verfgung stellt. Resident bedeutet, daž sich BACKPIC.PRG beim Booten in das Betriebssystem einklinkt und bis zum n„chsten Reset bzw. Ausschalten im Speicher verbleibt. Wegen des geringen Speicherbedarfs ist dies auch in Systemen mit geringem Speicherausbau nicht problematisch. BACKPIC.PRG sollte wie alle residenten Programme aus dem AUTO- Ordner heraus beim Booten des Systems gestartet werden; da es auf den Zeitpunkt des Starts aber nicht ankommt, ist (nach Umbenen- nung in BACKPIC.TOS) auch ein Start vom Desktop aus m”glich. 2.3 Beschreibung von DESKPIC.DOC und DESKPIC.TXT DESKPIC.DOC und DESKPIC.TXT enthalten jeweils diesen Anleitungs- text. DESKPIC.DOC liegt im WP-Format vor. Somit kann der Text mit allen Programmen, die das WORDPLUS-Datei-Format verarbeiten k”nnen, gelesen und ausgedruckt werden. DESKPIC.TXT enth„lt den Text als reine ASCII-Datei ohne Forma- tierungscodes. Dieser Text kann daher mit ASCII-Editoren und direkt vom Desktop aus gelesen und ausgedruckt werden. 3. Bedienungsanleitung 3.1 Bedienung von DESKPIC.CPX DESKPIC.CPX wird genauso bedient wie die von Atari mitgelieferten CPX-Module. In der Modul-Liste von XCONTROL tr„gt es sich unter der Bezeichnung 'Desktop Picture' ein. Wenn beim Aufruf von DESKPIC.CPX von XCONTROL aus der residente Treiber BACKPIC.PRG nicht installiert ist, erscheint eine ent- sprechende Alertbox und DESKPIC.CPX wird abgebrochen. Die Bedienungselemente von DESKPIC.CPX sind in drei Funktions- gruppen unterteilt: Bild-Funktionen ....... Konfiguration des Treibers Info-Funktionen ....... Informationen ber das CPX-Modul Status-Funktionen ..... Speichern/šbernahme von Žnderungen 3.1.1 DIVERSES.CPX: Bild-Funktionen Diese Funktionsgruppe besteht aus drei Bedienungselementen: Desktop-Hintergrund, Hintergrundbild und Redo-Funktion. Wird der Knopf fr den Desktop-Hintergrund angeklickt, erscheint ein Popup-Men mit den Eintr„gen 'Bild' und 'VDI'. Wenn 'Bild' angeklickt wird, wird das mittels des Bedienungselements Hinter- grundbild ausgew„hlte Bild (s. dort) im Desktop-Hintergrund eingeblendet. W„hlt man 'VDI', wird der Hintergrund vom Betriebs- system gezeichnet. Im Feld Hintergrundbild wird die ausgew„hlte Desktop-Hintergrund- bild-Datei mit dem kompletten Zugriffspfad angezeigt. Ist der Pfad l„nger als das Anzeigefeld kann mittels der Scroll-Kn”pfe links und rechts neben dem Anzeigefeld im Pfad gesrollt werden. Hat der Pfad šberl„nge, wird dies durch die Symbole '®' in der ersten bzw. '¯' in der letzen Spalte angezeigt. Klickt man das Pfad-Anzeigefeld an, erscheint eine Dateiauswahl- box. Hier kann ein neues Bild zur Anzeige als Desktop-Hinter- grundbild ausgew„hlt werden. Dabei ist zu beachten, daž DESKPIC.CPX nur Bilder im DEGAS-Format (normal und komprimiert) laden kann. Da BACKPIC.PRG nur in der hohen ST-Bildaufl”sung l„uft, tragen die entsprechenden Bild-Dateien die Extension .PI3 oder .PC3; daher wird die Dateiauswahlbox-Suchmaske mit *.P?3 vorbelegt. W„hlt man eine Bilddatei mittels Doppelklick oder Einfachklick und OK-Knopf aus, wird dieses Bild geladen und als neuer Hintergrund eingeblendet. Wird kein Bild ausgew„hlt oder der ABBRUCH-Knopf angeklickt bleibt das bisherige Bild erhalten. WARNUNG: Es ist nicht definiert, was passiert, wenn eine Datei als Bild-Datei ausgew„hlt wird, die nicht im DEGAS-Format vor- liegt. Im gnstigsten Fall erh„lt man Pixelmll auf dem Bild- schirm, im schlechtesten Fall strzt der Rechner ab. Die Redo-Funktion wird ben”tigt, wenn der residente Treiber fr die Bildanzeige vom Betriebssystem 'ausgeh„ngt' wurde, d.h. das Hintergrundbild nicht mehr angezeigt wird, obwohl es aktiviert ist. Dies kommt im allgemeinen selten vor; passiert es jedoch, wird durch Anklicken dieses Knopfes der Treiber reinstalliert. 3.1.2 DIVERSES.CPX: Info-Funktionen Nach dem Anklicken des Informationsknopfes erscheint eine Infor- mationsbox. Mittels Anklicken des OK-Knopfes oder Drcken der RETURN-Taste gelangt man zurck zum Hauptdialog. 3.1.3 DIVERSES.CPX: Status-Funktionen Diese Funktionsgruppe befindet sich am unteren Rand der Dialog- box. Sie besteht aus drei Auswahlkn”pfen: SICHERN, OK und ABBRUCH. SICHERN speichert die aktuellen Funktionseinstellungen nach Rckfrage im CPX-Modul. Dazu ist es erforderlich, daž sich das CPX-Modul noch im CPX-Verzeichnis befindet. Beim n„chsten Booten des Systems werden dann alle Funktionen so eingestellt wie zum Zeitpunkt des Sicherns. OK bernimmt alle Funktionseinstellungen bis zum n„chsten Reset bzw. Ausschalten des Systems. Das bedeutet, daž die Einstellungen bis zum n„chsten Reset bzw. Ausschalten erhalten bleiben, beim n„chsten Booten jedoch wieder auf die zuletzt gespeicherten Werte gesetzt werden. ABBRUCH verwirft die vorgenommenen Žnderungen der Funktionsein- stellungen und stellt den Zustand wieder her, der vorlag, als DESKPIC.CPX aufgerufen wurde. Das Anklicken des Schliežknopfes des Kontrollfeldfensters hat die Wirkung von OK; zus„tzlich wird das Kontrollfeldfenster geschlos- sen. Wenn bei ge”ffnetem Kontrollfeldfenster und aufgerufenem DESKPIC.CPX die laufende Applikation beendet wird hat das die gleiche Wirkung wie ABBRUCH, nur daž aužerdem das Kontrollfeld- fenster geschlossen wird. 3.2 Bedienung von BACKPIC.PRG BACKPIC.PRG hat keine eigentlichen Bedienungselemente. Es ist als AUTO-Ordner-Anwendung konzipiert. Da es nicht auf den Zeitpunkt der Installation ankommt und BACKPIC.PRG ein reines TOS-Programm ist, kann es auch vom Desktop aus gestartet werden. Es sollte dann jedoch in BACKPIC.TOS umbenannt werden. BACKPIC.PRG versucht, einen residenten Treiber fr die Einblen- dung eines Bildes im DEGAS-Format als Desktop-Hintergrund zu installieren; dabei geben Meldungen Auskunft ber den Stand der Dinge. Was BACKPIC.PRG macht ist im Abschnitt 'Internes' angegeben. 3.2.1 BACKPIC.PRG: Meldungen BACKPIC.PRG gibt w„hrend des Programmlaufs Meldungen auf dem TOS- Bildschirm aus. Zun„chst installiert BACKPIC.PRG einen Cookie im Cookiejar (s. Internes). Tritt dabei ein Fehler auf, wird eine entsprechende Meldung ausgegeben und das Programm abgebrochen. BACKPIC.PRG ver- bleibt dann nicht resident im Speicher. Anschliežend wird der Treiber fr die Einblendung des Desktop- Hintergrundbildes installiert; genaugenommen wird der Treiber zun„chst nur initialisiert, aber noch nicht installiert. Dies geschieht erst beim Booten von DESKPIC.CPX durch XCONTROL (Grund s. Internes). Nichtsdestotrotz behauptet BACKPIC.PRG in der ausgegebenen Meldung den Treiber installiert zu haben. 3.2.2 BACKPIC.PRG: Internes Fr Programmierer oder Interessierte wird in diesem Abschnitt angegeben, wie sich BACKPIC.PRG ins System einklinkt. BACKPIC.PRG versucht nach dem Start einen Cookie im Cookie-Jar anzulegen. Dazu wird berprft, ob bereits ein Jar angelegt wurde; wenn nicht, legt BACKPIC.PRG einen Jar fr acht Cookies an und installiert eine Routine im Reset-Vektor, die den Jar bei einem Reset l”scht (XBRA-Kennung "MZDP"). Existiert bereits ein Jar, wird untersucht, ob BACKPIC.PRG bereits installiert wurde; in diesem Fall wird das Programm abgebrochen und bleibt selbst- verst„ndlich nicht noch einmal resident im Speicher. Ist BACKPIC.PRG noch nicht installiert, wird ein neuer Cookie ange- legt; ist der Jar voll, legt BACKPIC.PRG einen g”žeren an. Wenn ein Cookie angelegt werden kann, hat dieser die Kennung (Magic) "MZDP" (0x4D5A4450L). Der Wert (Value) des Cookies enth„lt einen Pointer auf die zentrale Datenstruktur von BACKPIC.PRG: typedef struct { void (*dp_install)(void); char *dp_picture; int dp_instat; int dp_status; char void_dir[128]; int dp_version; void (*dp_reinst)(void); } DESK_INFO; Die Bedeutung der einzelnen Komponenten: (*dp_install)(void): (R/O) Treiber-Installationsroutine *dp_picture: (R/O) Adresse des Bildspeichers dp_instat: (R/O) 1 = Treiber installiert, 0 = nicht dp_status: (R/W) 1 = BACKPIC-Treiber, 0 = VDI void_dir[128]: (R/W) Zwischenspeicher fr DESKPIC.CPX dp_version: (R/O) Version: Highbyte - Hauptrevision Lowbyte - Unterrevision (*dp_reinst)(void): (R/O) Treiber-Reinstallationsroutine Nach dem Anlegen des Cookies initialisiert BACKPIC.PRG die Treiberroutine zur Einblendung eines Hintergrundbildes. Die Rou- tine wird allerdings noch nicht installiert, da hierzu der TRAP#2-Vektor (GEM-Vektor, AES und VDI) verbogen werden muž; wrde dies bereits jetzt gemacht, h„tte das Betriebssystem bei der Initialisierung des AES nichts besseres zu tun, als den Vektor auf das ROM zu setzen. Aužerdem wrden auch eventuell sp„ter gestartete Bildschirmbeschleuniger (TurboST, QuickST) oder VDI-Treiber (NVDI o.„.) den Vektor ihrerseits verbiegen. Der Vektor darf also erst nach Installation des AES und aller genannten Programme verbogen werden. Dies wird dadurch sicherge- stellt, daž die Installation erst von der Initialisierungsroutine von DESKPIC.CPX ber (*dp_install)( ) vorgenommen wird. Da der Treiber nur in der hohen ST-Aufl”sung (640x400 Pixel, 1 Bitplane) l„uft, wird die Installation bei anderen Aufl”sungen nicht durchgefhrt. Der Wert von dp_instat gibt Auskunft ber den Installationsstatus ( 1 = bereits installiert). Der Zeiger dp_picture zeigt auf einen 32000 Bytes langen Puffer zur Aufnahme des Desktop-Hintergrundbildes. Hier muž das ent- sprechende Bild als Pixelgrafik im ger„tespezifischen Format eingetragen werden. Wenn der TRAP#2-Vektor verbogen wird, erfolgt dies nach dem XBRA- Protokoll; die XBRA-ID lautet "MZDP". Der Treiber f„ngt, wenn er aktiv ist, alle VDI-Aufrufe zur Wiederherstellung (neuzeichnen) des Desktop-Hintergrundes ab und zeichnet statt dessen den entsprechenden Ausschnitt der gespei- cherten Pixelgrafik. Der Treiber stammt ursprnglich aus einem Programm von Noud van Kruysbergen und ist public domain. Unter dem Namen 'DEGADESK' findet man dieses Programm und seine Sourcen in PD-Sammlungen oder ber FTP im Archiv '/atari/Sources/ volume02/degadesk.arc' im Rechner 'atari.archive.umich.edu'. Die Komponente 'void_dir' hat fr BACKPIC.PRG keine Bedeutung; hier speichert DESKPIC.CPX den Zugriffspfad auf das Hintergrund- bild zwischen zwei Aufrufen zwischen. Nach Initialisierung des Treibers bleibt BACKPIC.PRG mittels Ptermres() im Speicher resident. BACKPIC.PRG wurde in Assembler geschrieben (PureAssembler, ASH) und DESKPIC.CPX in PureC (auch ASH). 4. Copyright und Haftungsausschluž DESKPIC.CPX und BACKPIC.PRG wurden entwickelt von Michael Zuhl Transvaalstr. 16 1000 Berlin 65 BACKPIC.PRG benutzt zur Einblendung des Hintergrundbildes Routi- nen, die zu diesem Zweck von Noud van Kruysbergen entwickelt und zur freien Verwendung ver”ffentlicht wurden. Einige Anregungen, Ideen und Tricks wurden abgeguckt aus folgen- den Quellen: - CPX-Programmierung: "CPX - Dem variablen Kontrollfeld auf der Spur", Serie in ST-Computer 3-5/91 + 9/91, Uwe Hax und Oliver Scholz - Cookiejar-Prinzip: "STee-Geb„ck - Das Cookie-Jar-Prinzip", in ST-Computer 12/90, Rolf Kotzian "Vorhang auf fr die Keksdose", in ST-Magazin 3/90, Julian F. Reschke - XBRA-Protokoll und berhaupt: Atari ST Profibuch, Jankowski/Rabich/Reschke, SYBEX-Verlag, 10.Auflage 1991 Die CPX-Module der Utility-Serie von mz'91 (also auch DESKPIC.CPX und BACKPIC.PRG) sind Freeware, d.h. sie drfen kopiert und weitergegeben werden, solange dies nicht kommerziell geschieht; davon ausgenommen ist lediglich die Verbreitung ber PD-Disket- ten, solange diese gegen einen geringen Unkostenbeitrag abgegeben werden. Obwohl bei der Programmierung alle Sorgfalt gebt wurde und DESKPIC.CPX und BACKPIC.PRG bei mir fehlerfrei laufen, kann ich keinerlei Garantie oder Haftung bernehmen, weder fr die angege- benen Funktionen noch fr irgendwelche eventuell aus dem Gebrauch dieser Programme entstehenden Folgesch„den. Der Einsatz dieser Programme erfolgt ausschliežlich auf eigenes Risiko. DESKPIC.CPX V01.14 BACKPIC.PRG V01.05 09.07.92 mz'91